The approaches described in this section could be pursued but are not necessarily approaches that have previously been conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
A stateful service is a service in which subsequent requests to the service depend on the outcome of the first request. The service can keep track of requests made earlier and may need more recent requests to establish a session. Thus, a state of a session between a client and a server may need to be persisted to a database. The stateful service may be exemplified by a call for an application programmable interface authentication. In this example, a user needs to send credentials to the service and the service may provide the user with a token or save a session. Subsequent requests from the user may include the token so that the service can check the status of the session that was created with the first request. Thus, a subsequent request depends on the outcome of the first request.
A stateful service insertion is an insertion of an external stateful service into a data traffic flow. In case of non-transparent stateful service insertion, the data packets are redirected to a service, such as a web proxy, which requires the data packet to be addressed to the service. In case of a transparent stateful service insertion, the data packets are redirected to a service, such as a firewall, which does not require the data packet to be specifically addressed to the service.
The stateful service insertion is usually performed using a source network address. However, conventional TCP state exchange techniques do not allow for providing transferring connection states for real-time traffic flow. As a result, stateful service insertion cannot be implemented using a data traffic endpoint. Furthermore, even though there are some methods for TCP state transfers for the cases where two nodes are used, these methods are ineffective for a greater number of nodes.